]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
wip: cross fade the window_group and window clones going in/out of the overview
authorRui Matos <tiagomatos@gmail.com>
Mon, 4 Jul 2011 17:35:01 +0000 (18:35 +0100)
committerRui Matos <tiagomatos@gmail.com>
Tue, 19 Jul 2011 23:25:11 +0000 (00:25 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=653868

js/ui/overview.js
js/ui/workspace.js

index 085f29224243ffe0d367007637337d8474930595..37c90c3f35fbae40b487ddbdd721e885dd065ec3 100644 (file)
@@ -535,7 +535,15 @@ Overview.prototype = {
         //
         // If we switched to displaying the actors in the Overview rather than
         // clones of them, this would obviously no longer be necessary.
-        global.window_group.hide();
+
+        global.window_group.raise(global.overlay_group);
+        Tweener.addTween(global.window_group,
+                         { opacity: 0,
+                           time: ANIMATION_TIME,
+                           transition: 'easeInOutQuad',
+                           onComplete: function() { global.window_group.hide(); }
+                         });
+
         this._group.show();
         this._background.show();
 
@@ -664,6 +672,14 @@ Overview.prototype = {
         this.animationInProgress = true;
         this._hideInProgress = true;
 
+        global.window_group.raise(global.overlay_group);
+        global.window_group.show();
+        Tweener.addTween(global.window_group,
+                         { opacity: 255,
+                           time: ANIMATION_TIME,
+                           transition: 'easeInOutQuad'
+                         });
+
         if (!this.workspaces.getActiveWorkspace().hasMaximizedWindows()) {
             this._desktopFade.opacity = 0;
             this._desktopFade.show();
@@ -704,8 +720,6 @@ Overview.prototype = {
     },
 
     _hideDone: function() {
-        global.window_group.show();
-
         this.workspaces.destroy();
         this.workspaces = null;
 
index e6c65b973781f15672d094e8e9aa9e326935a2c9..0c17485668ce3b4cb29350fc7df8ae3eea274821 100644 (file)
@@ -973,17 +973,28 @@ Workspace.prototype = {
                                       });
                 }
 
+                clone.actor.opacity = 0;
                 Tweener.addTween(clone.actor,
-                                 { x: x,
-                                   y: y,
-                                   scale_x: scale,
-                                   scale_y: scale,
+                                 { opacity: 255,
                                    time: Overview.ANIMATION_TIME,
-                                   transition: 'easeOutQuad',
+                                   transition: 'easeInOutQuad',
                                    onComplete: Lang.bind(this, function() {
                                       this._showWindowOverlay(clone, overlay, true);
                                    })
                                  });
+                // Tweener.addTween(clone.actor,
+                //                  { x: x,
+                //                    y: y,
+                //                    scale_x: scale,
+                //                    scale_y: scale,
+                //                    time: Overview.ANIMATION_TIME,
+                //                    transition: 'easeInOutQuad',
+                //                    onComplete: Lang.bind(this, function() {
+                //                       this._showWindowOverlay(clone, overlay, true);
+                //                    })
+                //                  });
+                clone.actor.set_position(x, y);
+                clone.actor.set_scale(scale, scale);
             } else {
                 clone.actor.set_position(x, y);
                 clone.actor.set_scale(scale, scale);
@@ -1248,14 +1259,18 @@ Workspace.prototype = {
 
             if (clone.metaWindow.showing_on_its_workspace()) {
                 Tweener.addTween(clone.actor,
-                                 { x: clone.origX,
-                                   y: clone.origY,
-                                   scale_x: 1.0,
-                                   scale_y: 1.0,
+                                 { opacity: 0,
                                    time: Overview.ANIMATION_TIME,
-                                   opacity: 255,
-                                   transition: 'easeOutQuad'
+                                   transition: 'easeInOutQuad'
                                  });
+                // Tweener.addTween(clone.actor,
+                //                  { x: clone.origX,
+                //                    y: clone.origY,
+                //                    scale_x: 1.0,
+                //                    scale_y: 1.0,
+                //                    time: Overview.ANIMATION_TIME,
+                //                    transition: 'easeInOutQuad'
+                //                  });
             } else {
                 // The window is hidden, make it shrink and fade it out
                 Tweener.addTween(clone.actor,